在開始學之前,我覺得第一個需要先搞懂的問題就是:前端和後端到底是什麼?
平常我們打開網站或 App 的時候,會看到很多不同的東西,像是文字、圖片、按鈕、登入畫面等等。
這些是我們使用網站時最直接接觸到的部分,也就是我們今天要先認識的 Frontend(前端)。
簡單的說前端主要負責使用者這一側的畫面與操作。
例如打開一個登入頁面
我們看到的帳號輸入框、密碼輸入框、登入按鈕等,都屬於前端的一部分。
但是前端並不是只負責把東西顯示出來,它也可以處理使用者和網頁之間的一些互動。
例如按下按鈕,讓畫面上的文字改變、跳出提示訊息,或讓某個內容出現或消失,這些事情都可以在前端完成。
前端常見的技術有:
原本會覺得「前端就是我們看得到的東西」,但其實這樣不完全正確。
除了我們看到的畫面之外,像 JavaScript 執行的一些程式和互動,也算是在前端的範圍裡。
既然前端自己就可以處理一些事情,那為什麼還需要後端?
這時候可以用「登入」來理解。
假設在剛才的登入頁面輸入帳號密碼
前端讓我們輸入帳號、密碼,也可以讓我們按下登入按鈕。
但
這組帳號和密碼到底是不是正確的?
這就需要交給後端來確認。
網站背後需要有程式負責處理登入的資料、確認資料是否正確,最後得到登入成功或失敗的結果。
這個在背後負責處理資料與程式邏輯的部分,就是 Backend(後端)。
前端不是單純「看得到的東西」;它負責使用者這一側的介面與互動。後端則負責背後的資料和程式邏輯。
而這次 30 天會學到的 Flask,就是用 Python 來開發後端的一個工具。
如果覺得前端和後端有點抽象,也可以把它想成去餐廳點餐。
到餐廳看菜單、選擇餐點,就像是在操作「前端」
當送出餐點後,後面需要有人收到需求並進行處理,這個部分就有點像「後端」。
簡單來說,前端負責和使用者互動,而後端負責在背後處理事情。
回到剛才登入網站的例子,我們在前端輸入帳號和密碼,按下登入後,後端會負責處理登入資料,最後再將登入成功或失敗的結果交回前端呈現。
前端和後端雖然負責不同的事情,但兩邊需要互相配合,才能完成一個完整的網站功能。
不過,前端和後端既然負責不同的事情,那前端的資料到底是怎麼傳到後端的?後端處理完之後,又是怎麼把結果傳回來的?
下一篇就來認識 HTTP、Request 和 Response,看看前端和後端之間到底是怎麼溝通的